package com.yiba.www.pojo;

import java.io.Serializable;
import java.util.Arrays;
import java.util.HashMap;

public class IPLLData implements Serializable {

    private Location[] locations;
    private int[] ips;
    private HashMap<String, LLICC[]> lliccMap;

    public IPLLData() {
    }

    public IPLLData(Location[] locations, int[] ips, HashMap<String, LLICC[]> lliccMap) {
        this.locations = locations;
        this.ips = ips;
        this.lliccMap = lliccMap;
    }

    public Location[] getLocations() {
        return locations;
    }

    public void setLocations(Location[] locations) {
        this.locations = locations;
    }

    public int[] getIps() {
        return ips;
    }

    public void setIps(int[] ips) {
        this.ips = ips;
    }

    public HashMap<String, LLICC[]> getLliccMap() {
        return lliccMap;
    }

    public void setLliccMap(HashMap<String, LLICC[]> lliccMap) {
        this.lliccMap = lliccMap;
    }

    @Override
    public String toString() {
        return "IPLLData{" +
                "locations=" + Arrays.toString(locations) +
                ", ips=" + Arrays.toString(ips) +
                ", lliccMap=" + lliccMap +
                '}';
    }

    public static class LLICC implements Serializable {
        private double lat;
        private double lng;
        private int id;

        public LLICC() {
        }

        public LLICC(double lat, double lng, int id) {
            this.lat = lat;
            this.lng = lng;
            this.id = id;
        }

        public double getLat() {
            return lat;
        }

        public void setLat(double lat) {
            this.lat = lat;
        }

        public double getLng() {
            return lng;
        }

        public void setLng(double lng) {
            this.lng = lng;
        }

        public int getId() {
            return id;
        }

        public void setId(int id) {
            this.id = id;
        }

        @Override
        public String toString() {
            return "LLICC{" +
                    "lat=" + lat +
                    ", lng=" + lng +
                    ", id=" + id +
                    '}';
        }
    }

    public static class Location implements Serializable {
        private String cityCode;
        private String provinceCode;
        private String countryCode;
        private double lat;
        private double lng;
        private String country;
        private String province;
        private String city;

        public Location() {
        }

        public Location(String cityCode, String provinceCode, String countryCode, double lat
                , double lng, String country, String province, String city) {
            this.cityCode = cityCode;
            this.provinceCode = provinceCode;
            this.countryCode = countryCode;
            this.lat = lat;
            this.lng = lng;
            this.country = country;
            this.province = province;
            this.city = city;
        }

        public String getCityCode() {
            return cityCode;
        }

        public void setCityCode(String cityCode) {
            this.cityCode = cityCode;
        }

        public String getProvinceCode() {
            return provinceCode;
        }

        public void setProvinceCode(String provinceCode) {
            this.provinceCode = provinceCode;
        }

        public String getCountryCode() {
            return countryCode;
        }

        public void setCountryCode(String countryCode) {
            this.countryCode = countryCode;
        }

        public double getLat() {
            return lat;
        }

        public void setLat(double lat) {
            this.lat = lat;
        }

        public double getLng() {
            return lng;
        }

        public void setLng(double lng) {
            this.lng = lng;
        }

        public String getCountry() {
            return country;
        }

        public void setCountry(String country) {
            this.country = country;
        }

        public String getProvince() {
            return province;
        }

        public void setProvince(String province) {
            this.province = province;
        }

        public String getCity() {
            return city;
        }

        public void setCity(String city) {
            this.city = city;
        }

        @Override
        public String toString() {
            return "Location{" +
                    "cityCode='" + cityCode + '\'' +
                    ", provinceCode='" + provinceCode + '\'' +
                    ", countryCode='" + countryCode + '\'' +
                    ", lat=" + lat +
                    ", lng=" + lng +
                    ", country='" + country + '\'' +
                    ", province='" + province + '\'' +
                    ", city='" + city + '\'' +
                    '}';
        }
    }

}
